This talk will explain how to implement a debugger for Python. We'll start with setting a simple trace function, then look how it is implemented in modern IDEs like PyCharm and Pydev. Then we go further in the details and uncover the tricks used to implement some cool features like exception handling and multiprocess debugging.
Presentation describes how to implement debugger for Python and has 4 parts:
* Tracing Python code
Explains how to use trace function
* Debugger Architecture
Explains which parts consists of a modern full-fledged debugger.
* A Bit of Details
Explains how to make code to work for all python versions and implementations, survive gevent monkey-patching etc.
* Cool Features
Explains how to implement exception handling and multiprocess debugging